Method and system for controlling communication between a user device and a content delivery network

ABSTRACT

A system and method for communicating between a content delivery network and a user device includes the user device generating a first request for a content file at a user device and communicating the request to the content delivery network. The content delivery network authenticates the first request, generates a redirection response and communicates the redirection response to the user device. The user device authenticates the redirection response, generates a second request for a content file in response to the redirection request and communicates the second request from the user device. The content delivery network communicates the content file from the content delivery network in response to the second request.

TECHNICAL FIELD

The present disclosure relates to a content processing and deliverysystem and, more specifically, to a system and method for controllingcommunication between a content provider and a user device.

BACKGROUND

The statements in this section merely provide background informationrelated to the present disclosure and may not constitute prior art.

Satellite television has become increasingly popular due to the widevariety of content and the quality of content available. A satellitetelevision system typically includes a set top box that is used toreceive the satellite signals and decode the satellite signals for useon a television. The set top box typically has a memory associatedtherewith. The memory may include a digital video recorder or the likeas well as the operating code for the set top box.

Satellite television systems typically broadcast content to a number ofusers simultaneously in a system. Satellite television systems alsooffer subscription or pay-per-view access to broadcast content. Accessis provided using signals broadcast over the satellite. Once access isprovided the user can access the particular content. The broadcasting ofa large selection of channels and pay-per-view programs uses aconsiderable amount of satellite resources.

Content providers are increasingly trying to determine additional waysto provide content to users. Conveniently providing access to suchcontent while preventing conflicts is important to providing revenue forcontent providers.

SUMMARY

The present disclosure allows a user device to communicate with acontent delivery network.

In one aspect of the disclosure, a method includes generating a requestfor a content file at a user device, communicating the first request toa content delivery network, authenticating the request at the contentdeliver network, generating a redirection response at the contentdelivery network, communicating the redirection response to the userdevice and authenticating the redirection response at the user device.The method also includes generating a second request for a content filein response to the redirection request at the user device, communicatingthe second request from the user device to the content delivery networkand communicating the content file from the content delivery network inresponse to the second request.

In yet another aspect of the invention, a system includes a contentdelivery network and a user device generating a first request for acontent file at a user device and communicating the request to thecontent delivery network. The content delivery network authenticates thefirst request, generates a redirection response and communicates theredirection response to the user device. The user device authenticatesthe redirection response, generates a second request for a content filein response to the redirection request and communicates the secondrequest from the user device. The content delivery network communicatesthe content file from the content delivery network in response to thesecond request.

Further areas of applicability will become apparent from the descriptionprovided herein. It should be understood that the description andspecific examples are intended for purposes of illustration only and arenot intended to limit the scope of the present disclosure.

DRAWINGS

The drawings described herein are for illustration purposes only and arenot intended to limit the scope of the present disclosure in any way.

FIG. 1 is a schematic illustration of a communication system accordingto the disclosure.

FIG. 2 is a detailed block diagrammatic view of the content processingsystem of FIG. 2.

FIG. 3 is a detailed block diagrammatic view of the fixed user device ofFIG. 1.

FIG. 4 is a flowchart illustrating a method for linking content andcontent-associated information.

FIG. 5 is a flowchart of a method for selecting channels from a userdevice.

FIG. 6 is a flowchart of a method for selecting content from a userdevice.

FIG. 7 is a block diagrammatic view of a control module of a userdevice.

FIG. 8 is a flowchart of a method for operating a control module of auser device.

FIG. 9 is a flowchart of a first method for interaction between a userdevice and a content delivery network.

FIG. 10 is a flowchart of a second method for interaction between a userdevice and a content delivery network.

FIG. 11 is a block diagram of a first embodiment of a user devicecoupled to a gateway system.

FIG. 12 is a block diagram of a second embodiment of a user devicecoupled to a gateway.

FIG. 13 is a flowchart of a method of operating a callback system.

DETAILED DESCRIPTION

The following description is merely exemplary in nature and is notintended to limit the present disclosure, application, or uses. Forpurposes of clarity, the same reference numbers will be used in thedrawings to identify similar elements. As used herein, the term modulerefers to an Application Specific Integrated Circuit (ASIC), anelectronic circuit, a processor (shared, dedicated, or group) and memorythat execute one or more software or firmware programs, a combinationallogic circuit, and/or other suitable components that provide thedescribed functionality. As used herein, the phrase at least one of A,B, and C should be construed to mean a logical (A or B or C), using anon-exclusive logical OR. It should be understood that steps within amethod may be executed in different order without altering theprinciples of the present disclosure.

The following system is described with respect to a satellite system anda broadband system. The broadband distribution system may be implementedin a terrestrial system such as cable or telephone-type system. Anoptical fiber may also be used in the broadband system. Wirelessdistribution may also be used in the broadband distribution system.

While the following disclosure is made with respect to example DIRECTV®broadcast services and systems, it should be understood that many otherdelivery systems are readily applicable to disclosed systems andmethods. Such systems include other wireless distribution systems, wiredor cable distribution systems, cable television distribution systems,Ultra High Frequency (UHF)/Very High Frequency (VHF) radio frequencysystems or other terrestrial broadcast systems (e.g., Multi-channelMulti-point Distribution System (MMDS), Local Multi-point DistributionSystem (LMDS), etc.), Internet-based distribution systems, cellulardistribution systems, power-line broadcast systems, any point-to-pointand/or multicast Internet Protocol (IP) delivery network, and fiberoptic networks. Further, the different functions collectively allocatedamong a head end (HE), integrated receiver/decoders (IRDs) and a contentdelivery network (CDN) as described below can be reallocated as desiredwithout departing from the intended scope of the present patent.

Further, while the following disclosure is made with respect to thedelivery of video (e.g., television (TV), movies, music videos, etc.),it should be understood that the systems and methods disclosed hereincould also be used for delivery of any media content type, for example,audio, music, data files, web pages, etc. Additionally, throughout thisdisclosure reference is made to data, information, programs, movies,assets, video data, etc., however, it will be readily apparent topersons of ordinary skill in the art that these terms are substantiallyequivalent in reference to the example systems and/or methods disclosedherein. As used herein, the term title will be used to refer to, forexample, a movie itself and not the name of the movie.

Referring now to FIG. 1, a communication system 100 includes a contentprocessing system 102 that is used as a processing and transmissionsource, a plurality of content providers, one of which is shown atreference numeral 104 and a first satellite 106. A second satellite 108may also be incorporated into the system. The satellites 106, 108 may beused to communicate different types of information or different portionsof various contents from the content processing system 102. The system100 also includes a plurality of fixed user devices 110 such asintegrated receiver/decoders (IRDs) or set-top box. Wirelesscommunications are exchanged between the content processing system 102and the fixed user devices 110 through one or more of the satellites106, 108. The wireless communications may take place at any suitablefrequency, such as, for example, Ka band and/or Ku-band frequencies.

A mobile user device 112 may also be incorporated into the system. Themobile user device 112 may include, but is not limited to, a cell phone114, a personal digital assistant 116, a portable media player 118, alaptop computer 120, or a vehicle-based device 122. It should be notedthat several mobile devices 112 and several fixed user devices 110 maybe used in the communication system 100. The mobile devices 112 may eachhave a separate antenna generally represented by antenna 124.

In addition to communication via the satellites 106, 108, various typesof information such as security information, encryption-decryptioninformation, content, or content portions may be communicatedterrestrially. A communication network 132 such as the public switchedtelephone network (PSTN), a terrestrial wireless system, stratosphericplatform, an optical fiber, or the like may be used to terrestriallycommunicate with the fixed user device 110 or the mobile user device112. To illustrate the terrestrial wireless capability an antenna 134 isillustrated for wireless terrestrial communication to the mobile userdevice 112.

Information or content provided to content processing system 102 fromthe media source 104 may be transmitted, for example, via an uplinkantenna 138 to the satellite(s) 106, 108, one or more of which may be ageosynchronous or geo-stationary satellite, that, in turn, rebroadcastthe information over broad geographical areas on the earth that includethe user devices 110, 112. The satellites may have inter-satellite linksas well. Among other things, the example content processing system 102of FIG. 1 provides program material to the user devices 110, 112 andcoordinates with the user devices 110, 112 to offer subscriberspay-per-view (PPV) program services and broadband services, includingbilling and associated decryption of video programs. Non-PPV (e.g. freeor subscription) programming may also be received. To receive theinformation rebroadcast by satellites 106, 108, each for user device 110is communicatively coupled to a receiver or downlink antenna 140.

Security of assets broadcast via the satellites 106, 108 may beestablished by applying encryption and decryption to assets or contentduring content processing and/or during broadcast (i.e., broadcastencryption). For example, an asset can be encrypted based upon a controlword (CW) known to the content processing system 102 and known to theuser devices 110, 112 authorized to view and/or playback the asset. Inthe illustrated example communication system 100, for each asset thecontent processing system 102 generates a control word packet (CWP) thatincludes, among other things, a time stamp, authorization requirementsand an input value and then determines the control word (CW) for theasset by computing a cryptographic hash of the contents of the CWP. TheCWP is also broadcast to the user devices 110, 112 via the satellites106, 108. The user devices authorized to view and/or playback thebroadcast encrypted asset will be able to correctly determine the CW bycomputing a cryptographic hash of the contents of the received CWP. Ifthe user device 110 is not authorized, the IRD 110 will not be able todetermine the correct CW that enables decryption of the receivedbroadcast encrypted asset. The CW may be changed periodically (e.g.,every 30 seconds) by generating and broadcasting a new CWP. In anexample, a new CWP is generated by updating the timestamp included ineach CWP. Alternatively, a CWP could directly convey a CW either inencrypted or unencrypted form. Other examples of coordinated encryptionand decryption abound, including for example, public/private keyencryption and decryption.

Referring now to FIG. 2, the content processing system 102 of FIG. 1 isillustrated in further detail. The content provider 104 may includevarious types of content providers, including those that provide contentby way of a satellite 200, DVD 202, via a network as a file in 204, byway of tapes and other means. The content provider 104 may also providegraphics, content description, and other metadata 208 to the system.

The content providers 104 may be various types of content providers andprovide various types of content including advertising content such asrow advertising (ads) is further described below. The content providersmay provide various types of information including advertisinginformation. Advertising providers may provide information on variousproducts or various available or future content. It should be noted thatthe advertising provider and the content provider may be one and thesame.

Information as to row ads may be provided by a content provider or anadvertising provider. The row ads are ads that form a row or can take upa row or partial row in the program guide. Information received from thevarious providers may include various types of metadata, graphics, andthe like. The metadata may also include location data as to where therow ad may fit as well as links to posters, asset or materialidentifications and various other links. Links provide a path to variousother information. Links may also cause an action to be performed, suchas tuning to a particular channel. The specifics of this will bedescribed below.

The row ad metadata may include provider information that includes anidentifier for identifying the content provided from the provider. Aproduct identifier may also be included in the row ad metadata. An assetname stream may also be used to identify the asset. Major versionnumbers and minor version numbers may also be provided for the row adcontent. A short description of the content may also be provided in themetadata. The creation date identifying the creation date of the contentor row ad may also be provided in the metadata. A provider ID may alsobe formed. The provider ID may be various types of identification,including an internet domain name. An asset ID may be provided by theprovider to identify the asset. A unique portable or materialidentification of the asset may be a combination of the provider ID andthe asset identification. The material ID will be further describedbelow in reference to the content management system which uses thematerial identification for various assets, including row ads. An assetclass may also be assigned to the system. A verb may also be formed inthe metadata. Verbs may include commands such as empty string anddelete.

A link type may also be provided in the metadata that is used toidentify a title of the asset, a channel or a homepage to which the rowad will link. The link type will also be described further below.

A link asset ID may also be included in the metadata. The link asset IDidentifies the link from the row ad to the asset ID of the title asset.If the link is to a channel or homepage, this metadata may not beincluded.

Rollover text metadata may also be included in the system. The rollovertext may appear when the particular row ad is highlighted by the userdevice. This string may include a phrase or other textual communication.

A text-only ad field may also be included in the metadata. A text-onlyad includes merely a string of characters to be displayed. A text-onlyad font may be used to change the font of the text-only ad. Varioustypes of fonts, such as those commonly available in word processors, maybe used. This may give the row ad a different look than the remainingportions of the program guide.

Content providers may also have a homepage within the present system.Briefly, the homepage is a portion of the program guide for selectingcontent to be downloaded to the user device. The system operator mayalso have its own homepage that has various categories of content. Thecategories and types of homepages will be described below.

The homepage may be formed in various configurations including a menustructure. The content providers may also provide various metadata forthe menu structure or program guide.

Each provider may also have a home page within the system from which auser device may be used to select and navigate through the menu.Ultimately, a selection may be made and communicated from the userdevice back to the content distribution network (CDN), whereby the CDNprovides the content to the user device. Content metadata used foridentification may also be provided relative to the home page, and linkthe content to one or more home pages. The provider, product, assetname, version major, version minor, description, creation date, providerID, asset ID, asset class and verb, as described above with respect tothe row ad, may also be provided in the home page metadata. In addition,a home page construction type may be provided in the metadata. Forexample, the home construction type may use the wording “complete” torefer to images of posters, background and other information. The string“background” may only provide a particular background scene upon whichgraphics and other data is placed. The background and various aspects ofthe home page will be described below.

The metadata for the homepage may also include a home construct templatethat represents a template number that may be filled in by the variouscontent providers. The operator of the content processing system mayestablish various homepage templates for which various information maybe provided by the content providers to fill in the homepage. Variouscategories and the like may be filled in by the content providers withinthe various parameters of the various templates. This portion of themetadata may be used to identify the pre-made templates.

A poster art position metadata may also be provided by the contentprovider. Various poster positions, as will be described below, may beestablished by the content processing system. As will be describedbelow, the posters may be used in a “complete” homepage constructiontype. The poster position identifies the poster art position and mayinclude a variable to identify the template number and a number toidentify the template and a number to identify the poster position.

A poster art position tab text may identify a tab text associated withthe poster art position. One number associated with this metadata mayinclude the template number and another number may identify the posterposition. The value may be a string that is displayed at a certainposition somewhere around or underneath the poster.

A promotional (promo) area title may also be included in the metadata.The promotion area title may specify the title to be shown in the promoarea of the homepage. The promotional area may be an area defined withinthe template. This may also be set forth only in a complete.

The promotional area body may provide certain amount of characters orlines below the title in the promotional area of the homepage. There maybe one or several promotional areas within a homepage.

A home page display start and a display end metadata field may also beprovided. This may provide a start time and end time for displaying thefields. The start time and end time may correspond to the local time ofthe particular user device. That is, based upon the display start timeand display end time and the local clock, the display may be changedaccordingly.

Another area of the content processing system 102 is an input server 212that receives the various content and converts the format in a formatconversion system 214. A house format asset storage server 216 may beused to store the content asset in a house format. Still image files,trailers, and other information may also be stored in the house formatasset storage server. A workflow management system 220 is used tocontrol the format conversion system 214 and the server 212. Also, theworkflow management system 220 is coupled to the house format assetstorage server 216 and performs ingest control. The house format assetstorage server 216 provides still images to a content management system221 and house format file, video and audio files to the video transportprocessing system 223.

The VTPS 223 may encode the packets containing the content. The encodermay encode the data into various transport formats such as DIRECTV®proprietary formats, or industry standard formats. The encoded data isthen packetized into a stream of data packets by a packetizer 270 thatalso attaches a header to each data packet to facilitate identificationof the contents of the data packet such as, for example, a sequencenumber that identifies each data packet's location within the stream ofdata packets (i.e., a bitstream). The header also includes a programidentifier (PID) (e.g., a service channel identifier (SCID)) thatidentifies the program to which the data packet belongs.

The stream of data packets (i.e., a bitstream) is then broadcastencrypted by, for example, the well-known Advanced Encryption Standard(AES) or the well-known Data Encryption Standard (DES). In an example,only the payload portion of the data packets are encrypted therebyallowing a user device 110 to filter, route and/or sort receivedbroadcast encrypted data packets without having to first decrypt theencrypted data packets.

The content management system 221 generally controls the overallmovement and distribution of contents through the content processingsystem 102. The content management 221 may also assign materialidentifications to the various received content. The materialidentification may utilize the asset identifier (ID) in the metadata aswell as the provider ID. Content, posters and other received informationmay be assigned related material identifications to make them easier toassociate and retrieve. For example, different suffixes may be used toidentify related content with the remainder of the materialidentification being the same.

A licensing and contract information 222 and ads from ad sales 224 maybe provided to the content management system 221. That is, licensinginformation, tier assignments, pricing and availability may be providedto the content management system. Asset information, file names anddurations may be exchanged between the content management system 221 andthe workflow management system 220. The asset information, such as filenames and durations, may be determined at the server 212 that is coupledto the workflow management system 220.

The Content Management System (CMS) 221 in combination with the SPS(230) is used to provide the requested channel, program associated data(PAD), channel information and program information packets (PIPs). TheCMS 221 may schedule content processing for a plurality of receivedassets based on a desired program lineup to be offered by thecommunication system 100. For example, a live TV program for which ahigh demand for reruns might be expected could be assigned a highpriority for content processing.

A schedule PAD server (SPS) 230 may be coupled to the CMS and is used togenerate a broadband video PAD that is communicated to a conditionalaccess system for broadband video 232. The conditional access system forbroadband video 232 may be used to generate control words and controlword packet in pairs and provide those to the video transport processingsystem 223.

In the illustrated example of FIG. 2, users of the user devices 110 (ofFIG. 1) are charged for subscription services and/or asset downloads(e.g., PPV TV) and, thus, the content processing system 102 includes abilling system 234 to track and/or bill subscribers for servicesprovided by the system 100. For example, the billing system 234 recordsthat a user has been authorized to download a movie and once the moviehas been successfully downloaded the user is billed for the movie.Alternatively, the user may not be billed unless the movie has beenviewed.

A billing system 234 receives pricing and availability information fromthe content management system 221. A conditional access system 236receives callback information from the communication network 132. Theconditional access system may be used to generate authorizations,pay-per-view billing data, and callback data from the billing system234. Remote record requests may also be provided from the conditionalaccess transaction system 238. A conditional access system BCC 240 maybe used to generate a conditional access packet from the informationfrom the conditional access system 236.

The billing system 234 may generate purchase data that is provided tothe enterprise integration (EI) block 242. The enterprise integrationblock 242 may generate remote record requests to the conditional accesstransaction system 238. Remote record requests may be generated througha web interface such as DIRECTV.com® in block 244. Various orderinginformation, such as ordering broadband video, pay-per-view, and variousservices may be received at the web interface 244. Various trailers mayalso be accessed by the users through the web interface 244 providedfrom the house format asset storage server 216. Enterprise integrationblock 242 may also receive guide information and metadata from thecontent management system 221.

Content files may also be provided from the content management system221 to the content distribution system 260.

The program guide data generated by the program guide system 248 mayinclude information that is used to generate a display of guideinformation to the user, wherein the program guide may be a grid guideand informs the user of particular programs that are broadcast onparticular channels at particular times. A program guide may alsoinclude information that a user device uses to assemble programming fordisplay to a user. For example, the program guide may be used to tune toa channel on which a particular program is offered. The program guidemay also contain information for tuning, demodulating, demultiplexing,decrypting, depacketizing, or decoding selected programs.

Titles, descriptions and categories may also be provided from thecontent management system 221 to the content distribution system 260.Content files and metadata may be controlled by the content distributionsystem 260.

Referring back to the video transport processing system 223, the videotransport processing system 223 includes a transport packaging system270. The transport processing system 270 creates pre-packetizedunencrypted files. An encryption module 272 receives the output of thetransport processing system and encrypts the packets. Fully packaged andencrypted files may also be stored in the content repository 274.Encryption may take place in the data portion of a packet and not theheader portion.

One or more content delivery networks 280 a-n may be used to providecontent files such as encrypted or unencrypted and packetized files tothe communication network 132 for distribution to the user devices 110,112. The content distribution system 260 may make requests for deliveryof the various content files and assets through the communicationnetwork 132. The content distribution system 260 also generatessatellite requests and broadcasts various content and assets through thebroadcast transport processing system 250.

The communication network 132 may be the Internet 122 which is amultiple-point-to-multiple-point communication network. However, personsof ordinary skill in the art will appreciate that point-to-pointcommunications may also be provided through the communication network132. For example, downloads of a particular content file from a contentdelivery network may be communicated to a particular user device. Suchfile transfers and/or file transfer protocols are widely recognized aspoint-to-point communications or point-to-point communication signalsand/or create point-to-point communication paths, even if transportedvia a multi-point-to-multi-point communication network such as theInternet. It will be further recognized that the communication network132 may be used to implement any variety of broadcast system where abroadcast transmitter may transmit any variety of data or data packetsto any number of or a variety of clients or receivers simultaneously.Moreover, the communication network 132 may be used to simultaneouslyprovide broadcast and point-to-point communications and/orpoint-to-point communication signals from a number of broadcasttransmitters or content delivery networks 280.

The content delivery network 280 may be implemented using a variety oftechniques or devices. For instance, a plurality of Linux-based serverswith fiber optic connections may be used. Each of the content deliverynetworks 280 may include servers that are connected to the Internet orthe communication network 132. This allows the user devices to downloadinformation or content (example, a movie) from the content deliverynetwork 280. The content delivery network 280 may act as a cache for theinformation provided from the content repository 274. A particular userdevice may be directed to a particular content delivery network 280depending on the specific content to be retrieved. An Internet uniformresource locator (URL) may be assigned to a movie or other content.Further, should one of the delivery networks 280 have heavy traffic, thecontent delivery network may be changed to provide faster service. Inthe interest of clarity and ease of understanding, throughout thisdisclosure reference will be made to delivering, downloading,transferring and/or receiving information, video, data, etc. by way ofthe content delivery network 280. However, persons of ordinary skill inthe art will readily appreciate that information is actually delivered,downloaded, transferred, or received by one of the Internet-basedservers in or associated with the content delivery network 280.

It should be appreciated that the content delivery network 280 may beoperated by an external vendor. That is, the operator of the contentdelivery network 280 may not be the same as the operator of theremaining portions of the content processing system 102. To downloadfiles from the content delivery network 280, user devices 110, 112 mayimplement an Internet protocol stack with a defined application layerand possibly a download application provided by a content deliverynetwork provider. In the illustrated example, file transfers areimplemented using standard Internet protocols (file transfer protocolFTP), hypertext transfer protocol (HTTP), etc. Each file received by theuser device may be checked for completeness and integrity and if a fileis not intact, missing, and/or damaged portions of the files may bedelivered or downloaded again. Alternatively, the entire file may bepurged from the IRD 110 and delivered or downloaded again.

The broadcast transport processing system 250 may provide variousfunctions, including packetizing, multiplexing and modulating, anduplink frequency conversion. RF amplification may also be provided inthe broadcast transport processing system 250.

Wireless delivery via the satellites 106, 108 may simultaneously includeboth files (e.g., movies, pre-recorded TV shows, games, softwareupdates, program guide information or asset files, menus structuresetc.) and/or live content, data, programs and/or information. Wirelessdelivery via the satellites 106, 108 offers the opportunity to deliver,for example, a number of titles (e.g., movies, pre-recorded TV shows,etc.) to virtually any number of customers with a single broadcast.However, because of the limited channel capacity of the satellites 106,108, the number of titles (i.e., assets) that can be provided during aparticular time period is restricted.

In contrast, Internet-based delivery via the CDN 280 can support a largenumber of titles, each of which may have a narrower target audience.Further, Internet-based delivery is point-to-point (e.g., from anInternet-based content server to a user device 110, 112) therebyallowing each user of the user device 110, 112 to individually selecttitles. Allocation of a title to satellite and/or Internet-baseddelivery or content depends upon a target audience size and may beadjusted over time. For instance, a title having high demand (i.e.,large initial audience) may initially be broadcast via the satellites106, 108, then, over time, the title may be made available for downloadvia the CDN 280 when the size of the target audience or the demand forthe title is smaller. A title may simultaneously be broadcast via thesatellites 106, 108 and be made available for download from the CDN 280via the communication network 132.

In the example communication system 100, each asset (e.g., program,title, content, game, TV program, etc.) is pre-packetized and,optionally, pre-encrypted and then stored as a data file (i.e., an assetfile). Subsequently, the asset file may be broadcast via the satellites106, 108 and/or sent to the CDN 280 for download via the CDN 280 (i.e.,Internet-based delivery). In particular, if the data file is broadcastvia the satellites 106, 108, the data file forms at least one payload ofa resultant satellite signal. Likewise, if the data file is availablefor download via the CDN 280, the data file forms at least one payloadof a resultant Internet signal.

It will be readily apparent to persons of ordinary skill in the art thateven though at least one payload of a resultant signal includes the datafile regardless of broadcast technique (e.g., satellite or Internet),how the file is physically transmitted may differ. In particular,transmission of data via a transmission medium (e.g., satellite,Internet, etc.) comprises operations that are: (a) transmission mediumindependent and b) transmission medium dependent. For example,transmission protocols (e.g., transmission control protocol/Internetprotocol (TCP/IP), user datagram protocol (UDP), encapsulation, etc.)and/or modulation techniques (e.g., quadrature amplitude modulation(QAM), forward error correction (FEC), etc.) used to transmit a file viaInternet signals (e.g., over the Internet 122) may differ from thoseused via satellite (e.g., the satellites 106, 108). In other words,transmission protocols and/or modulation techniques are specific tophysical communication paths, that is, they are dependent upon thephysical media and/or transmission medium used to communicate the data.However, the content (e.g., a file representing a title) transported byany given transmission protocol and/or modulation is agnostic of thetransmission protocol and/or modulation, that is, the content istransmission medium independent.

The same pre-packetized and, optionally, pre-encrypted, content datafile that is broadcast via satellite may be available for download viaInternet, and how the asset is stored, decoded and/or played back by theuser devices 110 is independent of whether the program was received bythe user devices 110 via satellite or Internet. Further, because theexample content processing system 102 of FIG. 1 broadcasts a liveprogram and a non-live program (e.g., a movie) by applying the sameencoding, packetization, encryption, etc., how a program (live ornon-live) is stored, decoded and/or played back by the user devices 110is also independent of whether the program is live or not. Thus, userdevices 110, 112 may handle the processing of content, programs and/ortitles independent of the source(s) and/or type(s) of the content,programs and/or titles. In particular, example delivery configurationsand signal processing for the example content delivery system of FIG. 2are discussed in detail below.

Referring now to FIG. 3, the user device 110 may be one of any varietyof devices, for example, a set-top box, a home media server, a homemedia center (HMC), a personal computer (PC) having a receiver cardinstalled therein, etc. A display device 300 such as a television set, acomputer monitor, a portable media player or the like may be coupled tothe user device. The user device 110 may be an integrated receiverdecoder, a satellite television receiver or the like for displayingand/or playback of received programming.

The receive antenna 140 (124 on a mobile device) receives signalsconveying a modulated multiplexed bitstream from the satellites 106,108. Within the receive antenna 140, the signals are coupled from areflector and feed to a low-noise block (LNB) 302, which amplifies andfrequency downconverts the received signals. The LNB 302 output is thenprovided to a receiver 304, which receives, demodulates, depacketizes,demultiplexes, decrypts and decodes the received signal to provide audioand video signals to the display device 300 or a memory device 306, orboth. The memory device 306 may be implemented separately from or withinthe user device 110. The receiver 304 is responsive to user inputs to,for example, tune to a particular program.

To store received and/or recorded programs and/or assets, the memorydevice 306 may include any of a variety of or combination of storagedevices such as a hard disk drive, DVR, flash memory or other types ofmemory devices. The memory device 306 may be used to store the content,information, metadata, program guide objects and information and/orprograms received via the satellites 106, 108 and/or the CDN 280. Inparticular, the packets stored on memory device 306 may be the sameencoded and, optionally, encrypted packets created by the contentprocessing system 102 and transmitted via the satellites 106, 108 and/ormade available for download via the CDN 280.

The memory device 306 may also be a device capable of recordinginformation on, for instance, analog media such as videotape or computerreadable digital media such as a hard disk drive (HDD), a digitalversatile disc (DVD), a compact disc (CD) and/or any other suitablemedia.

To communicate with any of a variety of clients, media players, etc.,the illustrated example the user device 110 includes one or moreconnection interface modules 308 (e.g., USB, serial port, Firewire,etc.). The connection interface module 306 may act as a networkinterface that implements, for example, an Ethernet interface. Theconnection interface module 308 may be used for callbacks.

Each user device 110 may connect to the communication network such asthe Internet 122 via any of a variety of technologies, for instance, avoice-band and/or integrated services digital network (ISDN) modemconnected to a conventional PSTN, a wireless broadband connection (e.g.,IEEE 802.11b, 802.11g, etc.), a broadband wired connection (e.g., ADSL,cable modems, etc.), a wired Ethernet connection (e.g., local areanetwork (LAN), wide area network (WAN), etc.), a leased transmissionfacility (e.g., a digital signal level 1 circuit (a.k.a. a DS1), afractional-DS1, etc.), etc. The format for communicating through theconnection interface module 308 may be Internet Protocol (IP).

The user device 110 may also include a control module 310 that is usedto control the operation of the various components within the userdevice.

A user interface 312 may, for example, be a set of push buttons or aremote control interface. The user interface 312 is used to makeselections, input various data, and change the parameters of the userdevice 110. The user interface 312 may be used together with a graphicaluser interface displayed on the display device associated with the userdevice.

It should also be noted that the user devices 114 (device 110) may beconfigured in a similar manner to those illustrated in FIG. 3 throughreference number 110. Such devices may include an internal antennarather than an external dish-type antenna that is illustrated in thefixed device as 140. Also, external antennas are possible such as aphased array antenna.

The recording device 306 may also be partitioned into a networkpartition 320 and a user partition 322. Different types of content orassets may be stored in the network partition 320 or the user partition322. The content stored in the different partitions may relate to thetier of the content. This will be further described below.

A program guide memory 330 may also be included in the device. Theprogram guide memory 330 may be used to store program guide informationand homepage information for the linear and virtual channels. Theprogram guide memory 330 may be implemented as a non-volatile memorysuch as flash memory. The program guide memory 330 may thus be aseparate memory device. Memory device 330 may also be integral withrecording device 306.

The user device 110 may also include a modem 334 for communicatingcallback information to a head end or content processing system througha telephone connection. As will be described below, the modem may beused if callbacks cannot be made after attempting a callback using theconnection interface module.

Referring now to FIG. 4, a method of assigning material identificationsto various content and content-associated information is set forth. Instep 410, content is received from various content providers. Theproviders may provide a provider or asset identification (ID) for thecontent provided. Posters, trailers, graphics, metadata may also bereceived from content providers. The content and the othercontent-associated information may be received in different ways or thesame way. When received in different ways, they may be associatedtogether in the content processing system. In step 412, the contentproviders may also provide a homepage package having the homepagegraphics, posters, links and metadata from the content provider. Thetypes of metadata that may be received from the content providers weredescribed above in FIG. 1.

In step 414, the material identification is assigned to the content andto the content-associated information. This step may be performed in thecontent management system of FIG. 2. Preferably the material ID and theassociated content information are linked together. As mentioned above,one way to link the content with the content-associated information isto provide a common material identification with various suffixes toidentify the various information.

Referring now to FIG. 5, the data or information received by the userdevice may be used to populate a guide or menu structure. In step 510,the content processing system establishes various guide structures andhomepage structures. These may be referred to as templates. Thetemplates may correspond to the physical layout of the screen display onthe user device. Virtual channels have homepages that have content toorder in an on-demand or request-based manner. Linear channels, incontrast, are normally broadcast network channels that communicate onprogram or content after another in real time. Virtual channels may alsobe associated with a network but are not real time. Content iscommunicated to the user device only when requested.

In step 512, the guide information and virtual channel or homepage datais received from content providers. The guide information or homepagedata may be received in various manners as described above. In step 514,the guide information and homepage information or data is linked to thecontent. The material identification may be used in the linking. In step516, the guide information is communicated to the user device. The guideor homepage data may be communicated using separate or the samecommunication means. The guide information and homepage information maybe communicated in various ways, including through the terrestrialsystem, broadband communication system, satellite or the like. The guideinformation may also be referred to as objects. The guide informationand homepage may be program guide information or separate menus that arereachable from the program guide information. Guide information andhomepage information may be continuously broadcast at various timesthroughout the day so that the guide information may be updated. Theguide information may be stored in the memory of the user device anddisplayed on request.

In step 518, the guide information and homepage information aredisplayed in the associated structure using the associate template. Theguide information or homepage information may also be in the form of amenu structure that also uses various templates. The content informationmay also include the metadata as described above. The metadata mayprovide various ratings and the like for the particular content. Amaterial identification may be associated with various selections in theprogram guide or virtual channel homepage.

In step 520, a selection of a channel is performed using a userinterface associated with the user device. The user interface may be aremote control in communication with the user device or push buttons onthe user device. It is also possible that a graphical user interface maybe used for selecting a channel. Selections may be made in response tothe program guide structure or menu structure.

In step 522, if the channel is an on-demand or virtual channel step 524is performed. In step 524, the on-demand or virtual channel homepage isreceived from the user device memory. In step 526, the homepage orvirtual channel information is displayed.

Referring back to step 522, if the channel is not an on-demand orvirtual channel, step 528 is performed. In step 528, the tuner is tunedto the broadcasted linear channel. In step 530, the broadcasted orlinear channel is displayed in association with the user device. Theuser device is a hand-held device whose channel may be displayed on theuser device. If the user device is a satellite television set top box,the user device may be coupled to a separate display such as atelevision.

Referring now to FIG. 6, from the user device the various menus,sub-menus and program guide may be navigated in step 610 using the userinterface illustrated in FIG. 3. In step 612, once a particular menuwith a particular content selection is reached, a selection may beformed that corresponds to content. The selection may select a materialidentification (ID) that is received with the metadata. In step 614, thematerial ID associated with the selection is communicated to the contentprocessing system. The communication may take place using a terrestrialsystem such as a broadband system, a wireless broadband system, or othertypes of communication systems described above.

In step 616, the content associated with the material identification, iscommunicated to the user device. In step 618, the content may be storedwithin the user device. This step may also be an optional step. In step620, the content may be viewed from the memory device or directly as thecontent is received. It is envisioned that a commercial embodiment willstore the content as it is received. It is also envisioned that thecontent may be stored while the content is being played from thebeginning of the content file.

Referring now to FIG. 7, the control module 310 of the user device 110is illustrated in further detail. The control module 310 includesvarious control modules that are used to control the recording of aparticular event or programming content. A recording service module 710includes a list of booked events 712 and a recording proxy 714. Therecording service module 710 coordinates the recording as will befurther described below. The recording service module 710 receivesbooking and recording requests from the set top box. The recordingservice module 710 makes a determination of the events to record fromthe responses received from a resource manager module 716 and a guideservice module 730. The recording service module 710 may also receivebooking requests from a local IP network. The local IP network mayinclude other user devices within the same household. The recordingservice module 710 interfaces with the resource manager module 716 toresolve scheduling conflicts for requested events. The recording servicemodule 710 interfaces with the resource manager 716 to reserve thenecessary resources for recording a requested event. The recordingservice module 710 maintains a conflict-free list of pending bookedevents and synchronizes the list across clients and servers in the homemedia network. The conflict-free list of booked events is set forth at712 in the recording service module. The recording service module 710links the events in the pending list to the resources reserved andmanaged by the resource manager module 716. The recording service module710 manages the content stored on the local drive and removes contentwhen the drive reaches capacity. The recording service module 710 alsostores the metadata necessary for the viewer to view and purchase arecording. The recording service module 710 initiates the recording of abooked event at the scheduled start time and for the scheduled duration.The recording service module 710 also processes and updates thescheduled start time and duration for booked events when the programguide database is updated. The recording service module 710 also updatesthe manager module 726 with events that are available for viewing.

The recording service module 710 may perform various recordingsincluding the recording of mandatory and optional software downloads,recording single event recording, performing recurring event recording,performing opt-in recording, performing network-scheduled or pushrecording, manual recording, performing recurring manual recordings,finding various recordings, recording extensions, deletion of bookedevents, and prioritization of recurring events.

The recording service module 710 is in communication with the resourcemanager module 716 that is used to control the resource allocation forthe user device. The resource manager module 716 is coupled to aconflict resolver module 718 that resolves conflicts between therecording of various schedules.

The recording proxy 714 of the recording service module 710 is incommunication with a memory write module 724 that communicates andwrites various information to the memory device 306. The memory writemodule 724 may be a digital video recorder write module.

The recording service module 710 is also in communication with a playlist manager module 726. The play list manager module is used to managethe play list for the user device. The play list is a list of thecontent available for playback.

The recording service module 710 is in communication with a guideservice module 730. The guide service module receives advance programguide information and communicates the information or data to therecording service module 710.

A recording request 740 may be used to generate information to therecording service module. The recording request may generate a bookingand recording request from the remainder of the user device 110. Therecording request may include various types of information including amaterial ID or the like used for identifying the particular contentselected. Push buttons or other types of user interfaces may be used toprovide this information.

Referring now to FIGS. 7 and 8, a method for operating the controlmodule 310 of FIG. 7 is illustrated. In step 810, a booking andrecording request is generated within the user device and provided tothe recording service module 710. The recording service module 710requests the resource manager 716 to reserve resources in step 812. Itshould be noted that the recording service module 710 may coordinatewith other recording service modules located within a household on asingle network.

In step 814, the memory device 302 may also be managed with the memorywrite module 724. The recording service module 710 may be used to removeold or expired content from the memory device 302 to free up spacetherein. Managing the memory may also remove lower priority items versushigher priority items. Low priority items may be removed to make roomfor higher priority content to be recorded.

In step 816, the conflict resolver module 718 is used to resolveconflicts between the booking and recording requests and any otherpreviously booked requests. To resolve conflicts, the priority ordesirability of various requests may be provided. For example, a usermay indicate that a particular request has the highest priority and thusany previously scheduled recording at the particular time may bediscontinued.

When no conflicts exist, the resources associated with the particularbooking and recording requests are reserved. This may entail reserving aresource bundle such as a video pipe line that includes a tuner,demultiplexer and the necessary space within the memory device 306. Theevent is booked when no conflicts exist, or all conflicts are resolved(either automatically or by the viewer or user) and the resourcesnecessary for the recording are reserved. The booked events are listedin the list of booked events 712. The list of booked events is aconflict-free list of booked events. The recording service receivedinformation from the guide services module as to the program informationpackets, the copy guard management system values, the rating informationand the program title and stores this information in the list 712. Ifthe guide service is unable to retrieve a program information packet(PIP) for that event, then the recording service manager may retrievethis information from the program information packet stream provided bythe guide service module 730 at the time of recording.

The recording service module 710 may initiate a recording of the bookedevent at the scheduled start time for a specific duration in step 822.The user device may include a local time that is used to initiate thestarting of the event. By comparing the scheduled start time and thelocal time associated with the user device, the recording service module710 initiates recording in step 824. The recording service module 710provides the recording information such as the program informationpacket, the rating information and copy guard management system (CGMS)values to the write module 724 at the scheduled event start time in step826. The write module 724 will store this metadata in the metadataindexer at recording time.

The recording service module 710 updates the play list manager module726 with the events that are available for viewing in step 828. Thisinformation may be provided through a screen display to the user of theuser device. An event may be available for viewing when the recordingbegins unless the event is a network scheduled recording. The networkscheduled recording may be referred to as a push event. Push events maynot be available until after the recording event is complete. Therecording service module 710 may also pass the metadata to be associatedwith the event. The play list manager may store the metadata until theevent is deleted in step 828.

In step 830, the recording service module 710 may receive advancedprogram guide (APG) updates from the guide service module 730 eitherfrom the satellite or by a callback mechanism. When the APG update isreceived, the recording service may attempt to search for and book newevents that match the recording request and determine of the updatedevent causes scheduling conflicts with existing bookings. If new eventsmatch the recording request in step 832 and no conflicts exist in step834, the system ends in step 836. If in step 832 no new events match therecording request then the system ends in step 836. In step 834, ifconflicts do exist, step 838 resolves the conflicts. The recordingservice module 710 may book lower priority events that are cancelled dueto the conflict resolution process. The recording service module 710 maymanage all the material on the user device including removing contentwhen the drive reaches capacity on a priority or quota basis or whencontent is flagged to expire by a specific date. The recording servicemodule 710 may also notify the play list manager and the write module724 at the time of content deletion allowing the associated metadata toalso be deleted.

Referring now to FIG. 9, a flowchart illustrating the operation of theinteraction between a user device 110 and a content delivery network(CDN) 280 is illustrated. The interaction with a file location 910within the content delivery network 280 is also illustrated. In step920, the user device 110 requests a content file using a uniformresearch locator (URL). The URL may include a fixed host name of thecontent delivery network, a directory and file identifier. The fileidentifier may be the material identification described above. Thecontent delivery network 280 may respond with a redirected uniformresearch locator with a cryptographic hash and size of the content file,if the request is authenticated by the content delivery network. Asuitable algorithm for the cryptographic hash is MD5. The cryptographichash is used in authentication. In step 924, the user device may requestthe content file using the redirected uniform research locator. Thisstep may be performed after the user device authenticates the responsefrom the content delivery network. The response is communicated to theCDN file location 910 and the response to the second request may includethe content itself in step 926. In step 928, the user device maygenerate a status message such as “Download Completed” or a “DownloadFailed” message if the download has not been completed. In step 930, thecontent delivery network 280 may provide a response to the statusmessage.

Referring now to FIG. 10, a second method for requesting content from auser device 10 from a content delivery network 280 may be performed. Inthis process, the content may be downloaded or communicated in parallelfrom the CDN 280 to the user device in response to multiple requestsfrom the user device 110.

In step 1020, a similar process to that described above in step 920 ofFIG. 9 is illustrated. In this step, the user device 110 requests acontent file that may include the fixed host name, directory and fileidentifier. In step 1022, the content delivery network 280 may respondwith a redirected URL with a cryptographic hash and size of the contentfile. This response may be performed after the request from the userdevice is authenticated.

In step 1024, the user device 110 may determine a number of paralleldownloads based on the size of the content file and issue multiplerequests for portions of the file in parallel. Each request maycorrespond to a portion of the content file and, in particular, to abyte range of the content file. Steps 1024 a and 1024 b correspond tomultiple requests for the content. The content delivery network 280 and,in particular, the content delivery network file location 910 respondswith multiple content portions in step 1026 a and 1026 b.

Steps 1028 and 1030 with respect to a status message are identical tosteps 928 and 930 above.

Should an error occur during download, an error message may be displayedto the user and also communicated to the content delivery network 280.This may interrupt the processes in FIGS. 9 and 10. For example, if anincorrect hash value is provided from the user device to the contentdelivery network, an “unauthorized” message may be generated by thecontent delivery network.

Referring now to FIG. 11, the user device may be coupled to the DIRECTV®or system provider gateway system so that callbacks may be providedthrough a broadband network. The user device 110 may be coupled to aDIRECTV® service request server 1110 which in turn is coupled to anauthorization server 1112.

The user device 110 may also be coupled to the DIRECTV® gateway 1114that is used to provide conditional access (CA), interactive video guard(iVG) information and audience measurement system (AMS) data. In priorDIRECTV® systems, a telephone modem is used to provide the callbackmessaging. This embodiment allows the Internet protocol (IP) to be usedfor callbacks. Conditional access management data that connects back tothe DIRECTV® CAMC by way of the gateway 114 the LNS server is a look“and” stop server that acts as a firewall.

The DIRECTV® gateway 1114 may be provided with challenge handshakeauthentication protocol (CHAP) information for conditional access in box1116. Audience measurement system (AMS) and interactive CHAP 1118 mayalso be provided to the DIRECTV® gateway 1114.

The DIRECTV® gateway 1114 may couple various information to theconditional access server 1120 for conditional access callback to theaudience measurement system server 1122 that collects user device data.The DIRECTV® gateway 1114 may also be coupled to the video guardprocessing and transaction block 1124.

Communication between the user device 110 and the DIRECTV® gateway 1114may use an L2TP together with point-to-point video protocol. L2TP standsfor layer 2 tunneling protocol that may be used to support a virtualprivate network.

Referring now to FIG. 12, a domain name server 1210 is illustrated incommunication with the user device 110. The communication network 132such as a broadband (wired or wireless) communication network isillustrated. The DIRECTV® gateway 1114 is illustrated in further detail.The DIRECTV® gateway 1114 includes an LNS server 1214 that is used tocouple to the communication network 132. A bus 1212 may have variousdevices such as the conditional access management center (CAMC) 1216 andan iChannel server 1220 coupled thereto. Various application servers1222 may be coupled to the iChannel server 1220. The LNS server 1214 maybe coupled to a challenge handshake authentication protocol (CHAP)server 1224. The server 1224 may also be implemented as a secure shell(SSH) server. A DIRECTV® domain name server 1226 may also be coupled tothe LNS server 1214.

Referring now to FIG. 13, a method of operating the callback system isillustrated. In step 1310, a callback signal is generated in the userdevice. The callback signal may be various types of signals including,but not limited to, a conditional access signal, an audience measurementsignal or a video guard signal.

In step 1312, a tunnel may be formed between the head end or contentprocessing system and the user device. The Layer 2 Tunneling protocol(L2TP) may be used to form the tunnel. The L2TP protocol tunnels networktraffic between two computers over an existing network such as theInternet. In this embodiment the user device and the gateway or DIRECTV®head end are coupled together using the broadband communication network.As was described above, the broadband network may be the Internet. Thebroadband network may include a wireless broadband network.

After forming a tunnel, a point-to-point protocol session may beestablished between the user device and the DIRECTV® gateway or head endin step 1316.

In step 1318, the callback signal is communicated between the userdevice using the point-to-point protocol through the tunnel. Asmentioned above, various signals and interactions may take place betweenthe user device and the head end or gateway. Should the user device be awireless device, a wireless broadband network may be used. Should thedevice be a fixed device, such as a satellite TV set top box, either thewireless or a wired connection may be formed in the communication.

As mentioned above, IP protocol may be attempted for communicatingcallback information or data. If the IP network is unable to connect theuser device and the content processing system or the head end, then themodem may be used to communicate callback information or data.

Those skilled in the art can now appreciate from the foregoingdescription that the broad teachings of the disclosure can beimplemented in a variety of forms. Therefore, while this disclosureincludes particular examples, the true scope of the disclosure shouldnot be so limited since other modifications will become apparent to theskilled practitioner upon a study of the drawings, the specification andthe following claims.

What is claimed is:
 1. A method comprising: generating a first requestfor a content file at a user device; communicating the first request toa content delivery network; authenticating the first request at thecontent delivery network; generating a redirection response at thecontent delivery network; communicating the redirection response to theuser device; authenticating the redirection response at the user device;generating a second request for the content file in response to theredirection request at the user device; communicating the second requestfrom the user device to the content delivery network; and communicatingthe content file from the content delivery network in response to thesecond request.
 2. A method as recited in claim 1 wherein generating afirst request comprises generating the first request using a UniformResource Locator (URL).
 3. A method as recited in claim 1 whereingenerating a first request comprises generating the first request usinga URL having a hostname and file identifier.
 4. A method as recited inclaim 1 wherein generating a request comprises generating the firstrequest using a URL having a hostname, directory and file identifier. 5.A method as recited in claim 4 wherein the file identifier comprises amaterial identification.
 6. A method as recited in claim 1 whereincommunicating the first request comprises communicating the firstrequest through a broadband network.
 7. A method as recited in claim 1wherein communicating the first request comprises communicating thefirst request through a wireless broadband network.
 8. A method asrecited in claim 1 wherein generating a redirection response comprisesgenerating a redirection response having a hash and a size of thecontent file.
 9. A method as recited in claim 1 wherein communicatingthe redirection response comprises communicating the redirectionresponse through a broadband network.
 10. A method as recited in claim 1wherein communicating the redirection response comprises communicatingthe redirection response through a wireless broadband network.
 11. Amethod as recited in claim 1 wherein communicating the second requestcomprises communicating the second request through a broadband network.12. A method as recited in claim 1 wherein communicating the secondrequest comprises communicating the second request through a wirelessbroadband network.
 13. A method as recited in claim 1 whereincommunicating the content file comprises communicating the content filethrough a broadband network.
 14. A method as recited in claim 1 whereincommunicating the content file comprises communicating the content filethrough a wireless broadband network.
 15. A method as recited in claim 1further comprising storing the content file in a memory device withinthe user device.
 16. A method as recited in claim 1 further comprising acommunicating a status message from the user device to the contentdelivery network.
 17. A method as recited in claim 1 wherein the statusmessage comprises a completed message or a failed message.
 18. A methodas recited in claim 1 wherein generating a second request comprisesgenerating a plurality of second requests for different portions of thecontent file and wherein communicating the second request comprisescommunicating the plurality of second requests and wherein communicatingthe content file comprises communicating the content file in response tothe plurality of second requests in parallel.
 19. A method as recited inclaim 1 wherein the user device comprises a digital video recorder. 20.A method as recited in claim 1 wherein the user device comprises asatellite television set top box.
 21. A method as recited in claim 1wherein the user device comprises a cable television set top box.
 22. Asystem comprising: a content delivery network; a user device generatinga first request for a content file at a user device and communicatingthe request to the content delivery network; said content deliverynetwork authenticating the first request, generating a redirectionresponse and communicating the redirection response to the user device;said user device authenticating the redirection response, generating asecond request for the content file in response to the redirectionrequest and communicating the second request from the user device; andsaid content delivery network communicating the content file from thecontent delivery network in response to the second request.
 23. A systemmethod as recited in claim 22 wherein the first request comprises aUniform Resource Locator (URL).
 24. A system as recited in claim 22wherein the first request comprises a URL having a hostname and fileidentifier.
 25. A system as recited in claim 22 wherein the firstrequest comprises a URL having a hostname, directory and fileidentifier.
 26. A system as recited in claim 25 wherein the fileidentifier comprises a material identification.
 27. A system as recitedin claim 22 further comprising a broadband network communicating thefirst request.
 28. A system as recited in claim 22 further comprising awireless broadband network communicating the first request.
 29. A systemas recited in claim 22 wherein the redirection response comprises a hashand a size of the content file.
 30. A system as recited in claim 22further comprising a broadband network communicating the redirectionresponse.
 31. A system as recited in claim 22 further comprising awireless broadband network communicating the redirection response.
 32. Asystem as recited in claim 22 further comprising a broadband networkcommunicating the second request.
 33. A system as recited in claim 22further comprising a wireless broadband network communicating the secondrequest.
 34. A system as recited in claim 22 further comprising abroadband network communicating the content file.
 35. A system asrecited in claim 22 further comprising a wireless broadband networkcommunicating the second request.
 36. A system as recited in claim 22wherein the user device communicates a status message to the contentdelivery network.
 37. A system as recited in claim 36 wherein the statusmessage comprises a completed message or a failed message.
 38. A systemas recited in claim 22 wherein the user device comprises a digital videorecorder.
 39. A system as recited in claim 22 wherein the user devicecomprises a satellite television set top box.
 40. A system as recited inclaim 22 wherein the user device comprises a cable television set topbox.